home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 021-030 / amok30 / m2maker / defmaker.projekt / txt / timersupport.mod < prev    next >
Text File  |  1993-11-04  |  3KB  |  87 lines

  1. (******************************************************************************
  2. *                                                                             *
  3. *    Programmname:  TimerSupport                                              *
  4. *                                                                             *
  5. *    Stand:         21.11.89                            Uhrzeit:  21:01:18    *
  6. *                                                                             *
  7. *    Bearbeitet mit dem MODULETool V1.1         (©) by  Thomas Stolze 1989    *
  8. *                                                                             *
  9. ******************************************************************************)
  10.  
  11. (* $R- *) (* $V- *) (* $S- *) (* $N- *) (* $F- *)
  12. IMPLEMENTATION MODULE TimerSupport;
  13.  
  14. FROM SYSTEM        IMPORT ADR;
  15. FROM Dos           IMPORT Date,DateStamp;
  16. FROM Str           IMPORT Concat,Copy;
  17. FROM StringSupport IMPORT StringStr;
  18.  
  19. PROCEDURE GetDate(VAR day,month,year : LONGINT);
  20. VAR SysTime     : Date;
  21.     n,alldays   : LONGINT;
  22. BEGIN
  23.   (* Datum wird nach dem Algorithmus des Juljanischen Kalenders bestimmt! *)
  24.   
  25.   DateStamp(ADR(SysTime));
  26.   alldays:= SysTime.days;
  27.        n := alldays+28431;
  28.     year := (4 * n-1) DIV 1461;
  29.      day := (4 * n + 3 - 1461 * year) DIV 4;
  30.     month:= (5 * day - 3) DIV 153;
  31.       day:= (5 * day + 2 - 153 * month) DIV 5;
  32.     IF (month >= 10) THEN
  33.        month := month - 9;
  34.         year := year + 1;
  35.     ELSE
  36.        month := month + 3;
  37.     END;
  38. END GetDate;
  39.  
  40. PROCEDURE GetTime(VAR hour,min,sec,hsec : LONGINT);
  41. VAR SysTime : Date;
  42. BEGIN
  43.   DateStamp(ADR(SysTime));
  44.   
  45.   hour := SysTime.minute DIV 60;
  46.   min  := SysTime.minute - (hour * 60);
  47.   sec  := SysTime.tick DIV 50;
  48.   hsec := SysTime.tick - (sec * 50);
  49. END GetTime;
  50.  
  51. PROCEDURE MakeString(VAR string : ARRAY OF CHAR; trennChar : CHAR;
  52.                                           num1,num2,num3 : LONGINT);
  53. VAR zahl : ARRAY [0..2] OF CHAR;
  54.     trenn: ARRAY [0..1] OF CHAR;
  55.   PROCEDURE ZeroStringStr(num : LONGINT);
  56.   BEGIN
  57.     IF (num < 10) THEN
  58.         zahl[0]:=CHR(48); zahl[1]:=CHR(48+num); zahl[2]:=00C;
  59.     ELSE
  60.        StringStr(zahl,num,2);
  61.     END;        
  62.   END ZeroStringStr;
  63. BEGIN
  64.   trenn[0]:=trennChar; trenn[1]:=00C;
  65.   ZeroStringStr(num1); Copy(string,zahl);   Concat(string,trenn);
  66.   ZeroStringStr(num2); Concat(string,zahl); Concat(string,trenn);
  67.   ZeroStringStr(num3); Concat(string,zahl);
  68. END MakeString;                     
  69.  
  70. PROCEDURE MakeDateString(VAR dateString : ARRAY OF CHAR);
  71. VAR day,month,year : LONGINT;
  72. BEGIN
  73.   GetDate(day,month,year);
  74.   MakeString(dateString,".",day,month,year);
  75. END MakeDateString;
  76.  
  77. PROCEDURE MakeTimeString(VAR timeString : ARRAY OF CHAR);
  78. VAR hour,min,sec,hsec : LONGINT;
  79. BEGIN
  80.   GetTime(hour,min,sec,hsec);
  81.   MakeString(timeString,":",hour,min,sec);
  82. END MakeTimeString;
  83.  
  84. BEGIN
  85. END TimerSupport.
  86.  
  87.